Skip to content

《数值分析》期末试卷 (精选02)

一、 计算题

  1. 已知线性方程组为 $\left\{ \begin{array}{l}7x_1 + 10x_2 = 1\\ 5x_1 + 7x_2 = 0.7 \end{array} \right.$ (1) 试求系数矩阵 $A$ 的条件数 $\mathrm{cond}_\infty(A)$; (2) 若右端向量有扰动 $\delta b = (0.01, -0.01)^T$ , 试估计解的相对误差 $\frac{\|\delta x\|_\infty}{\|x\|_\infty}$ .

    查看答案与解析

    答案: (1) $\mathrm{cond}_{\infty}(A) = 289$ (2) $\frac{\|\delta x\|_\infty}{\|x\|_\infty} \leq 2.89$

    思路分析

    本题考查线性方程组的稳定性分析。首先需正确计算矩阵范数及其逆矩阵,进而得到条件数。最后利用条件数与相对误差的数学关系进行估计。

    详细推导:

    1. 求系数矩阵 $A$ 及其范数$A = \begin{pmatrix} 7 & 10 \\ 5 & 7 \end{pmatrix}$ 根据无穷范数定义(行和最大值):$\| A \|_{\infty} = \max\{|7|+|10|, |5|+|7|\} = 17$
    2. 求逆矩阵 $A^{-1}$ 及其范数: 利用 $2\times 2$ 矩阵求逆公式 $A^{-1} = \frac{1}{\det(A)} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}$$\det(A) = 7 \times 7 - 10 \times 5 = -1$$A^{-1} = \frac{1}{-1} \begin{pmatrix} 7 & -10 \\ -5 & 7 \end{pmatrix} = \begin{pmatrix} -7 & 10 \\ 5 & -7 \end{pmatrix}$$\| A^{-1} \|_{\infty} = \max\{|-7|+|10|, |5|+|-7|\} = 17$
    3. 计算条件数$\mathrm{cond}_{\infty}(A) = \| A \|_{\infty} \cdot \| A^{-1} \|_{\infty} = 17 \times 17 = 289$
    4. 估计相对误差: 利用误差估计公式:$\frac{\|\delta x\|_\infty}{\|x\|_\infty} \leq \mathrm{cond}_\infty(A) \frac{\|\delta b\|_\infty}{\|b\|_\infty}$ 已知 $b = (1, 0.7)^T$,则 $\|b\|_\infty = \max\{1, 0.7\} = 1$。 扰动 $\delta b = (0.01, -0.01)^T$,则 $\|\delta b\|_\infty = \max\{0.01, |-0.01|\} = 0.01$。 代入公式:$\frac{\|\delta x\|_\infty}{\|x\|_\infty} \leq 289 \times \frac{0.01}{1} = 2.89$

    易错点

    在计算 $\|b\|_\infty$ 时,必须取所有分量绝对值的最大值,不可漏看。同时注意条件数永远大于等于 1,若算得小于 1 则必有错误。

    难度: ⭐⭐
    考点: #矩阵条件数 #误差估计

    💡 学习锦囊
    1. 无穷范数$\|A\|_\infty = \max_{1 \le i \le n} \sum_{j=1}^n |a_{ij}|$
    2. 条件数$\mathrm{cond}(A) = \|A\| \cdot \|A^{-1}\|$,衡量矩阵对扰动的敏感程度。
    3. 相对误差估计$\frac{\|\delta x\|}{\|x\|} \leq \mathrm{cond}(A) \frac{\|\delta b\|}{\|b\|}$
    🔄 举一反三
    1. 若矩阵 $A = \begin{pmatrix} 10 & 7 \\ 8 & 5 \end{pmatrix}$,求其条件数 $\mathrm{cond}_\infty(A)$
      查看练习答案与解析

      答案:$\mathrm{cond}_\infty(A) = 17 \times 3 = 51$。 解析:$\|A\|_\infty = 17$$A^{-1} = -\frac{1}{6} \begin{pmatrix} 5 & -7 \\ -8 & 10 \end{pmatrix}$$\|A^{-1}\|_\infty = \frac{1}{6} \times \max\{12, 18\} = 3$。故 $17 \times 3 = 51$


  1. 用 Gauss-Seidel 迭代法求解方程组 $\left\{ \begin{array}{l} 20x_{1} + 2x_{2} + 3x_{3} = 24 \\ x_{1} + 8x_{2} + x_{3} = 12 \\ 2x_{1} - 3x_{2} + 15x_{3} = 30 \end{array} \right.$ 取初值 $x^{(0)} = (0,0,0)^T$ ,迭代 2 步,写出 Gauss-Seidel 迭代格式,求 $x^{(1)}$$x^{(2)}$ ,并求 $\| x^{(1)} - x^{(2)}\|_{\infty}$

    查看答案与解析

    答案:$x^{(1)} = (1.2, 1.35, 2.11)^T$$x^{(2)} = (0.7485, 1.1427, 2.1287)^T$ 误差 $\approx 0.4515$

    思路分析

    Gauss-Seidel 法的关键在于**“新值旧用”**。在计算当前未知量时,凡是本迭代步中已经计算出来的分量,都必须立即采用,这通常比 Jacobi 迭代法收敛更快。

    详细推导:

    1. 建立迭代格式: 将方程组变形为显式格式: $\begin{cases} x_{1}^{(k+1)} = \frac{1}{20} (24 - 2x_{2}^{(k)} - 3x_{3}^{(k)}) \\ x_{2}^{(k+1)} = \frac{1}{8} (12 - x_{1}^{(k+1)} - x_{3}^{(k)}) \\ x_{3}^{(k+1)} = \frac{1}{15} (30 - 2x_{1}^{(k+1)} + 3x_{2}^{(k+1)}) \end{cases}$
    2. 第一步迭代 ($k=0$)$x_1^{(1)} = \frac{1}{20} (24 - 2(0) - 3(0)) = 1.2$$x_2^{(1)} = \frac{1}{8} (12 - 1.2 - 0) = 1.35$ (注意:这里使用了 $x_1^{(1)}$$x_3^{(1)} = \frac{1}{15} (30 - 2(1.2) + 3(1.35)) = \frac{31.65}{15} = 2.11$$x^{(1)} = (1.2, 1.35, 2.11)^T$
    3. 第二步迭代 ($k=1$)$x_1^{(2)} = \frac{1}{20} (24 - 2(1.35) - 3(2.11)) = \frac{14.97}{20} = 0.7485$$x_2^{(2)} = \frac{1}{8} (12 - 0.7485 - 2.11) = \frac{9.1415}{8} \approx 1.1427$$x_3^{(2)} = \frac{1}{15} (30 - 2(0.7485) + 3(1.1427)) = \frac{31.9311}{15} \approx 2.1287$$x^{(2)} = (0.7485, 1.1427, 2.1287)^T$
    4. 计算误差$\| x^{(1)} - x^{(2)} \|_{\infty} = \max\{|1.2 - 0.7485|, |1.35 - 1.1427|, |2.11 - 2.1287|\} = 0.4515$

    难度: ⭐⭐
    考点: #Gauss-Seidel迭代法 #线性方程组数值解

    💡 学习锦囊
    1. Gauss-Seidel 迭代公式$x_i^{(k+1)} = \frac{1}{a_{ii}} (b_i - \sum_{j=1}^{i-1} a_{ij} x_j^{(k+1)} - \sum_{j=i+1}^n a_{ij} x_j^{(k)})$
    2. 收敛性:若矩阵 $A$ 严格对角占优或对称正定,则 Gauss-Seidel 法收敛。
    🔄 举一反三
    1. 使用相同的初值,对上述方程组进行一步 Jacobi 迭代。
      查看练习答案与解析

      答案:$x^{(1)}_{Jacobi} = (1.2, 1.5, 2.0)^T$。 解析:Jacobi 迭代中计算 $x_2, x_3$ 时仍使用 $x^{(0)}$ 的旧值。 $x_1 = 24/20 = 1.2$, $x_2 = 12/8 = 1.5$, $x_3 = 30/15 = 2.0$


  1. 应用不动点迭代法求方程 $xe^{x} - 1 = 0$$x\in [0, 1]$ 的一个根,取 $x_0 = 0.5$

    查看答案与解析

    答案:$x \approx 0.5671$

    思路分析

    不动点迭代的核心是将 $f(x)=0$ 转化为 $x=\varphi(x)$。选择 $\varphi(x)$ 时,必须确保其在根邻域内的导数绝对值小于 1(即满足压缩映射原理),否则迭代会发散。

    详细推导:

    1. 构造迭代函数: 方程 $xe^x - 1 = 0$ 可以变形为 $x = e^{-x}$。令 $\varphi(x) = e^{-x}$。 在 $[0, 1]$ 上,$\varphi'(x) = -e^{-x}$,且当 $x > 0$$|\varphi'(x)| = e^{-x} < 1$。在根 $x^* \approx 0.567$ 处,$|\varphi'(x^*)| = e^{-0.567} \approx 0.567 < 1$,满足局部收敛条件,迭代过程在根附近收敛。
    2. 迭代计算$x_{n+1} = e^{-x_n}$,已知 $x_0 = 0.5$
      • $x_1 = e^{-0.5} \approx 0.6065$
      • $x_2 = e^{-0.6065} \approx 0.5452$
      • $x_3 = e^{-0.5452} \approx 0.5797$
      • $x_4 = e^{-0.5797} \approx 0.5602$
      • $x_5 = e^{-0.5602} \approx 0.5711$
      • $x_6 = e^{-0.5711} \approx 0.5649$
      • $x_7 = e^{-0.5649} \approx 0.5684$
      • $x_8 = e^{-0.5684} \approx 0.5664$
      • $x_9 = e^{-0.5664} \approx 0.5675$
      • $x_{10} = e^{-0.5675} \approx 0.5669$
      • $x_{11} = e^{-0.5669} \approx 0.5672$
      • $x_{12} = e^{-0.5672} \approx 0.5671$
    3. 结论: 迭代值趋于稳定,保留四位小数得 $x \approx 0.5671$

    难度: ⭐⭐
    考点: #不动点迭代 #非线性方程求根

    💡 学习锦囊
    1. 不动点定义:若 $x^* = \varphi(x^*)$,则 $x^*$$\varphi(x)$ 的不动点。
    2. 局部收敛性:若 $|\varphi'(x^*)| < 1$,则在该不动点邻域内迭代收敛。
    🔄 举一反三
    1. 使用牛顿迭代法求方程 $x^2 - 2 = 0$ 的正根(取 $x_0 = 1.5$)。
      查看练习答案与解析

      答案:$x_1 \approx 1.4167$。 解析:牛顿公式 $x_{n+1} = x_n - \frac{x_n^2-2}{2x_n} = \frac{1}{2}(x_n + \frac{2}{x_n})$$x_1 = \frac{1}{2}(1.5 + 2/1.5) = 1.4167$


  1. 给定数表如下:

    $x$0-11
    $f(x)$123

    (1)用牛顿插值法写出二次插值多项式 $N_{2}(x)$ ,并求 $N_{2}(1.5)$; (2)若增加一对数据 $(2, 0)$,求 $N_{3}(x)$

    查看答案与解析

    答案: (1) $N_2(x) = \frac{3}{2}x^2 + \frac{1}{2}x + 1$$N_2(1.5) = 5.125$ (2) $N_3(x) = -\frac{4}{3}x^3 + \frac{3}{2}x^2 + \frac{11}{6}x + 1$

    思路分析

    牛顿插值的核心优势是其**“承袭性”**。增加新节点时,无需像 Lagrange 插值那样重写整个多项式,只需在原有多项式基础上增加一项高阶差商项即可。

    详细推导:

    1. 列出差商表
      $x_i$$f(x_i)$一阶差商二阶差商三阶差商
      01
      -12-1
      131/23/2
      20-3-7/6-4/3
    2. 写出二次多项式 $N_2(x)$: 使用差商表第一行斜线上的值: $N_2(x) = f(x_0) + f[x_0, x_1](x - x_0) + f[x_0, x_1, x_2](x - x_0)(x - x_1)$$N_2(x) = 1 - x + \frac{3}{2}x(x + 1) = \frac{3}{2}x^2 + \frac{1}{2}x + 1$
    3. 计算 $N_2(1.5)$$N_2(1.5) = \frac{3}{2}(2.25) + 0.5(1.5) + 1 = 3.375 + 0.75 + 1 = 5.125$
    4. 写出三次多项式 $N_3(x)$: 利用承袭性:$N_3(x) = N_2(x) + f[x_0, x_1, x_2, x_3]x(x+1)(x-1)$$N_3(x) = (\frac{3}{2}x^2 + \frac{1}{2}x + 1) - \frac{4}{3}x(x^2 - 1) = -\frac{4}{3}x^3 + \frac{3}{2}x^2 + \frac{11}{6}x + 1$

    难度: ⭐⭐
    考点: #牛顿插值 #差商

    💡 学习锦囊
    1. 差商定义$f[x_0, x_1] = \frac{f(x_1)-f(x_0)}{x_1-x_0}$
    2. 牛顿公式:具有逐阶逼近的特性。
    🔄 举一反三
    1. 若节点顺序改为 $1, -1, 0$,插值多项式会改变吗?
      查看练习答案与解析

      答案:不会。 解析:插值多项式的唯一性定理保证了只要节点集相同,最终得到的多项式在代数上是等价的,只是表达形式可能不同。


  1. 应用复合梯形公式( $n = 2$ )求积分 $\int_{0}^{1} \frac{x}{4 + x^2} \mathrm{d}x$

    查看答案与解析

    答案:$I \approx 0.1088$

    思路分析

    复合公式的思想是“化整为零”。先将积分区间等分,在每个小区间上应用梯形公式,最后汇总。这不仅提高了精度,还方便计算机实现。

    详细推导:

    1. 参数设定$a=0, b=1, n=2 \implies h = 0.5$。节点 $0, 0.5, 1$
    2. 计算函数值$f(0) = 0$$f(0.5) = 2/17 \approx 0.1176$$f(1) = 0.2$
    3. 代入公式$T_2 = \frac{0.5}{2} [f(0) + 2f(0.5) + f(1)] = 0.25 \times (0 + 4/17 + 0.2) = 0.25 \times 0.4353 \approx 0.1088$

    难度: ⭐
    考点: #复合梯形公式 #数值积分

    💡 学习锦囊
    1. 复合梯形公式$T_n = \frac{h}{2} [f(a) + 2\sum_{i=1}^{n-1} f(x_i) + f(b)]$
    2. 余项:与步长 $h$ 的平方成正比。
    🔄 举一反三
    1. 应用复合 Simpson 公式 ($n=2$) 计算上述积分。
      查看练习答案与解析

      答案:$S_2 \approx 0.1118$。 解析:$S_2 = \frac{h}{3}[f(0) + 4f(0.5) + f(1)]$(此处 $h=0.5$)。 $S_2 = \frac{0.5}{3}[0 + 8/17 + 0.2] = \frac{1}{6} \times 0.6706 \approx 0.1118$


  1. 应用改进 Euler 方法求解初值问题 $\left\{ \begin{array}{ll}y^{\prime} = x^{2} + x - y\\ y(0) = 0 \end{array} \right.$ , $0\leq x\leq 1$。 取步长 $h = 0.1$ ,计算 $y(0.5)$ 的近似值。

    查看答案与解析

    答案:$y(0.5) \approx 0.144992$

    思路分析

    改进 Euler 方法是一种预估-校正方法。它先用显式 Euler 法预估下一个点的值,再用梯形公式(隐式)进行校正。这种方法兼具显式算法的简便和隐式算法的高精度。

    详细推导:

    1. 迭代公式$y_{n+1} = y_n + \frac{h}{2} [f(x_n, y_n) + f(x_{n+1}, y_n + h f(x_n, y_n))]$ 其中 $f(x, y) = x^2 + x - y$$h = 0.1$
    2. 逐步计算
      • $n=0$$x_0=0, y_0=0$): $f(x_0, y_0) = 0^2 + 0 - 0 = 0$$\bar{y}_1 = y_0 + h f(x_0, y_0) = 0$$f(x_1, \bar{y}_1) = 0.1^2 + 0.1 - 0 = 0.11$$y_1 = 0 + \frac{0.1}{2}[0 + 0.11] = 0.0055$
      • $n=1$$x_1=0.1, y_1=0.0055$): $f(x_1, y_1) = 0.01 + 0.1 - 0.0055 = 0.1045$$\bar{y}_2 = 0.0055 + 0.1 \times 0.1045 = 0.01595$$f(x_2, \bar{y}_2) = 0.04 + 0.2 - 0.01595 = 0.22405$$y_2 = 0.0055 + 0.05[0.1045 + 0.22405] = 0.021928$
      • $n=2$$x_2=0.2, y_2=0.021928$): $f(x_2, y_2) = 0.04 + 0.2 - 0.021928 = 0.218072$$\bar{y}_3 = 0.021928 + 0.1 \times 0.218072 = 0.043735$$f(x_3, \bar{y}_3) = 0.09 + 0.3 - 0.043735 = 0.346265$$y_3 = 0.021928 + 0.05[0.218072 + 0.346265] = 0.050145$
      • $n=3$$x_3=0.3, y_3=0.050145$): $f(x_3, y_3) = 0.09 + 0.3 - 0.050145 = 0.339855$$\bar{y}_4 = 0.050145 + 0.1 \times 0.339855 = 0.084131$$f(x_4, \bar{y}_4) = 0.16 + 0.4 - 0.084131 = 0.475869$$y_4 = 0.050145 + 0.05[0.339855 + 0.475869] = 0.090931$
      • $n=4$$x_4=0.4, y_4=0.090931$): $f(x_4, y_4) = 0.16 + 0.4 - 0.090931 = 0.469069$$\bar{y}_5 = 0.090931 + 0.1 \times 0.469069 = 0.137838$$f(x_5, \bar{y}_5) = 0.25 + 0.5 - 0.137838 = 0.612162$$y_5 = 0.090931 + 0.05[0.469069 + 0.612162] = 0.144992$
    3. 结论$y(0.5) \approx y_5 = 0.144992$

    难度: ⭐⭐⭐
    考点: #改进Euler方法 #常微分方程数值解

    💡 学习锦囊

    📖 核心公式:

    • 改进 Euler 公式$y_{n+1} = y_n + \frac{h}{2}[f(x_n, y_n) + f(x_{n+1}, y_n + hf(x_n, y_n))]$
    • 预估步(显式 Euler):$\bar{y}_{n+1} = y_n + hf(x_n, y_n)$
    • 校正步(梯形公式):$y_{n+1} = y_n + \frac{h}{2}[f(x_n, y_n) + f(x_{n+1}, \bar{y}_{n+1})]$
    • 改进 Euler 法为二阶方法,全局误差 $O(h^2)$,比显式 Euler 法(一阶)精度更高。
    🔄 举一反三
    1. 改进 Euler 方法的局部截断误差阶数是多少?
      查看练习答案与解析

      答案:$O(h^3)$。 解析:改进 Euler 法是二阶方法,其全局误差为 $O(h^2)$,局部截断误差为 $O(h^3)$


  1. 应用 Euler 方法计算积分 $\int_0^x e^{t^2}\mathrm{d}t$ 在点 $x = 0.5, 1, 1.5, 2$ 的近似值。

    查看答案与解析

    答案:$y(0.5) \approx 0.5, y(1) \approx 1.1420, y(1.5) \approx 2.5011, y(2) \approx 7.2450$

    思路分析

    本题巧妙地利用了变限积分与微分方程的关系。将积分转化为初值问题 $y'=f(x), y(a)=0$,使得我们能够用解 ODE 的方法来处理定积分问题。

    详细推导:

    1. 转化:设 $y(x) = \int_0^x e^{t^2} \mathrm{d}t \implies y' = e^{x^2}, y(0)=0$
    2. 迭代 ($h=0.5$):
      • $y_1 = y_0 + 0.5 e^0 = 0.5$
      • $y_2 = 0.5 + 0.5 e^{0.25} \approx 1.1420$
      • $y_3 = 1.1420 + 0.5 e^1 \approx 2.5011$
      • $y_4 = 2.5011 + 0.5 e^{2.25} \approx 7.2450$

    难度: ⭐⭐ 考点: #Euler方法 #变限积分

    💡 学习锦囊

    📖 核心技巧: 变限积分 $\int_a^x f(t)dt$ 可转化为初值问题 $y' = f(x), y(a) = 0$,从而利用 ODE 数值方法求解。

    • Euler 公式$y_{n+1} = y_n + hf(x_n, y_n)$,一阶精度,全局误差 $O(h)$
    • 步长 $h$ 越小精度越高,但计算量增大;实际中常与高阶方法(如 Runge-Kutta)配合使用。
    🔄 举一反三
    1. 若使用梯形积分公式计算 $\int_0^{0.5} e^{t^2} \mathrm{d}t$,结果与 Euler 法一致吗?
      查看练习答案与解析

      答案:不一致。 解析:梯形公式结果为 $\frac{0.5}{2}(e^0 + e^{0.25}) \approx 0.5710$,而 Euler 法结果为 $0.5$。梯形法通常更精确。

你正在阅读的是会员专属文档,💕 限时特惠进行中
你尚未登录,目前新用户可获3天体验会员,去登录